<?php

 class Usuario {

     function listarUsuarios( $app, $admin = null, $msg = "" ) {
         // carrega o model do painel
         if ( $admin == null )
             $admin = $app->loadModel( "Admin" );

         $usuarios = $admin->getTodosUsuarios( $app->conexao );

         $param = array( "titulo" => $app->site_titulo,
                 "pagina" => "listarusuarios",
                 "dados"  => array(
                         "usuarios" => $usuarios,
                         "msg"      => $msg
                 )
         );


         $app->loadView( "Admin", $param );
     }

     function alterarUsuario( $app ) {
         $idusuario = ( int ) $_GET[ "id" ];

         $admin = $app->loadModel( "Admin" );

         $obj = $admin->getUsuarioId( $app->conexao, $idusuario );
 
         $param = array( "titulo" => $app->site_titulo,
                 "pagina" => "formusuario",
                 "dados"  => array(
                         "tituloform"     => "Alterar usuário",
                         "action"         => "execAlterarUsuario",
                         "labelbtnsubmit" => "Alterar Registro",
                         "auxusuario"     => "disabled='disabled'",
                         "usuariologin"    => $obj[ "usuariologin" ],
                         "usuarionome"    => $obj[ "usuarionome" ],
                         "idusuario"      => $obj[ "idusuario" ],
                         "auxsenha"       => ""
                 )
         );

         $app->loadView( "Admin", $param );
     }

     function execAlterarUsuario( $app ) {
         $admin = $app->loadModel( "Admin" );
         // alteração de usuário não é aceita
         // somente nome do usuário e a senha
         $nome  = tStr( $_POST[ 'nome' ] );

         // lembrando que a senha pode vir vazia
         $senha = tStr( $_POST[ 'senha' ] );

         $idusuario = ( int ) $_POST[ "idusuario" ];

         $obj = $admin->alteraDadosUsuario( $app->conexao, $idusuario, $nome, $senha );
      
         if ( $obj ) {
             $mensagem = "Alteração efetuada com sucesso!";
         }
         else {
             
             $mensagem = "Alteração falhou!";
         }

         $this->listarUsuarios( $app, $admin, $mensagem );
     }

     function excluirUsuario( $app ) {
         $admin = $app->loadModel( "Admin" );

         $usuarioid = ( int ) $_GET[ "id" ];

         $obj = $admin->excluirUsuario( $app->conexao, $usuarioid );

         if ( $obj ) {
             $mensagem = "Exclusão efetuada com sucesso!";
         }
         else {
             $mensagem = "Exclusão falhou!";
         }

         $this->listarUsuarios( $app, $admin, $mensagem );
     }

     function cadastrarUsuario( $app ) {
         $param = array( "titulo" => $app->site_titulo,
                 "pagina" => "formusuario",
                 "dados"  => array(
                         "tituloform"     => "Cadastrar novo usuário",
                         "action"         => "execCadastrarUsuario",
                         "labelbtnsubmit" => "Cadastrar usuário",
                          "auxsenha"       => "required",
                         "auxusuario"     => "",
                         "usuarioid"      => "",
                         "usuariologin"    => "",
                         "usuarionome"    => ""
                       
                 )
         );

         $app->loadView( "Admin", $param );
     }

     function execCadastrarUsuario( $app ) {
         $admin = $app->loadModel( "Admin" );
         
         $usuario = tStr( $_POST[ "usuario" ] );
         $nome    = tStr( $_POST[ "nome" ] );
         $senha   = tStr( $_POST[ "senha" ] );

         $obj = $admin->cadastrarUsuario( $app->conexao, $usuario, $nome, $senha );

         if ( $obj ) {
             $mensagem = "Cadastro efetuado com sucesso!";
         }
         else {
             $mensagem = "Cadastro falhou!".$obj;
         }

         $this->listarUsuarios( $app, $admin, $mensagem );
     }

 }
 